#ifndef DEBUG_H_
#define DEBUG_H_
#define __DEBUG_ON
#include <iostream>
using namespace std;
template<class T1,class T2>
void dbe(T1 a,T2 b)
{
#ifdef __DEBUG_ON
	cout<<a<<" "<<b<<endl;
#endif
}

template<class T1,class T2,class T3>
void dbe(T1 a,T2 b,T3 c)
{
#ifdef __DEBUG_ON
	cout<<a<<" "<<b<<" "<<c<<endl;
#endif
}

template<class T1,class T2,class T3,class T4>
void dbe(T1 a,T2 b,T3 c,T4 d)
{
#ifdef __DEBUG_ON
	cout<<a<<" "<<b<<" "<<c<<" "<<d<<endl;
#endif
}
void showM(float* m) {
	for (int i=0; i<16; i++) {
		if (i%4==0)
			cout<<endl;
		cout<<m[i]<<" ";
	}
	cout<<endl;
}
void CurMax(char *st) {
	cout<<st<<endl;
	GLfloat m[16];
	glGetFloatv(GL_MODELVIEW_MATRIX,m);
	showM(m);
}
void CurPMax(char *st) {
	cout<<st<<endl;
	GLfloat m[16];
	glGetFloatv(GL_PROJECTION_MATRIX,m);
	showM(m);
}

#endif /*DEBUG_H_*/
